//
//  CZToolBar.swift
//  61.新工程表情键盘
//
//  Created by apple on 16/3/7.
//  Copyright © 2016年 itcast. All rights reserved.
//

import UIKit

// MARK: - 1.toolBar按钮点击的代理
protocol CZEmoticonToolBarDelegate: NSObjectProtocol {
    func toolBarButtonClick(type: CZEmoticonToolBarType)
}

enum CZEmoticonToolBarType: Int {
    case Recent = 0
    case Default = 1
    case Emoji = 2
    case Lxh = 3
}

class CZEmoticonToolBar: UIView {
    
    // MARK: - 属性
    // 2.toolBar拥有代理属性
    weak var delegate: CZEmoticonToolBarDelegate?
    
    private var selectedButton: UIButton?
    
    class func emoticonToolBar() -> CZEmoticonToolBar {
        // 从xib加载view
        return NSBundle.mainBundle().loadNibNamed("CZEmoticonToolBar", owner: nil, options: nil).first as! CZEmoticonToolBar
    }


    @IBAction func buttonClick(sender: UIButton) {
//        print("点击了 sender.tag: \(sender.tag)")
        
        switchSelectButton(sender)
        
        // 3.调用代理告诉keyboar被点击的是哪个按钮
        let type = CZEmoticonToolBarType(rawValue: sender.tag)
        delegate?.toolBarButtonClick(type!)
    }
    
    /**
     通过选中的section来设置选中某个按钮
     
     - parameter section: 选中的section
     */
    func switchSelectButtonWitchSelectSection(section: Int) {
        // 获取section对应的按钮
        let button = self.subviews[section] as! UIButton
        switchSelectButton(button)
    }
    
    private func switchSelectButton(button: UIButton) {
        // 1.取消上次选中按钮得状态
        selectedButton?.selected = false
        // 设置可用状态
        selectedButton?.enabled = true
        
        // 2.将点击的按钮设置为选中状态
        button.selected = true
        
        // 设置可用状态
        button.enabled = false
        
        // 3.将点击的按钮设置为选中的按钮
        selectedButton = button
    }
}
